#ifndef __IMATERIAL_H__
#define __IMATERIAL_H__

#include <string>
#include "MeshDefs.h"

namespace steam
{
namespace coal
{
	class IMaterial
	{
	public:

		// virtual destructor
		virtual ~IMaterial() {}

		// get material name
		virtual std::string getMaterialName() const = 0;

		// get diffuse color
		virtual Color3f getDiffuseColor() const = 0;

		// get specular color
		virtual Color3f getSpecularColro() const = 0;

		// get ambient color
		virtual Color3f getAmbientColor() const = 0;

		// get diffuse texture
		virtual std::string getDiffuseTexture() const = 0;

		// get specular texture
		virtual std::string getSpecularTexture() const = 0;

		// get ambient texture
		virtual std::string getAmbientTexture() const = 0;

	};
}

}

#endif